============= Version 5.3.1 ============= Library: * A set of client methods of the task for working with tabs developed * :doc:`init_tabs ` * :doc:`add_tab ` * :doc:`close_tab ` * Forms are reworked. Each form now have a div with modal-header class declared in the index.html file. The elements for search input and filter text are removed from the form templates and placed in the form header. * The :doc:`view `, :doc:`append_record `, :doc:`insert_record ` and :doc:`edit_record ` methods are reworked. If a container parameter is passed to these methods and the :doc:`init_tabs ` method is called for the conainer, the tabs are created that contains the forms. For existing projects add the line .. code-block:: js task.init_tabs($("#content")); at the beginning on the on_page_loaded event handler of the task client module to forms be desplayed in tabs and add a $("#content") container parameter to append_record, insert_record and edit_record methods. You can add a line .. code-block:: js task.add_form_borders = false; if you don't want to change html templates of the forms. Otherwise remove elements for search input and filter text (in the div with form-header class, remove it) from the form templates and add the div with modal-header class to templates. Demo: * Demo was rewritten to display forms in tabs and modeless edit forms Documentation: * :doc:`on_ext_request ` example corrected for Python 3